Personal computer systems are well known in the art. Personal computer systems in general, and IBM Personal Computers in particular, have attained widespread use for providing computer power to many segments of today's modern society. These systems are designed primarily to give independent computer power to a single user and are inexpensively priced for purchase by individuals or small businesses. Personal computers can typically be defined as desktop, floor standing, or portable computers that consist of a system unit having a single central processing unit (CPU) and associated volatile and non-volatile memory, including RAM and BIOS ROM.
The capacity of disk drives used in such computers is now so high that it is unlikely that an average end user will ever require all the space available. However, a problem which still remains is that it is very easy for the end user to change some setting or device driver, particularly in the operating system of the computer, which prevents the computer booting successfully. Even if the end user remembers exactly what was changed, it may not be possible to undo the change if the end user has had to boot from a diskette drive to restart the computer. In many computers, booting from a diskette drive provides only a command prompt and from such a command prompt it may not be obvious which files have changed. The problem is potentially much worse for laptop users because their installation disks may be at another location such as at home or in a remote office.
European patent EP 0 767 341 discloses a method of backing up a computer disk to another backup medium using the operating system to read a set of logically contiguous sectors from a primary store and write them to a backup medium. The data is restored from the backup medium using a similar set of operating system calls. Mapping is performed by the operating system to take into account physical flaws on the media. The method in this patent relies on the operating system functioning correctly and does not allow restoration of data in order to overcome operating system corruption due to an end user changing a setting or a device driver.
Research Disclosure n.315, "Mirroring of Data on a Partition Basis", July 1990, discloses a technique for mirroring data on a partition by partition basis. Mirroring can be selected for all of the logical partitions of a disk volume, for none of the logical partitions of a disk volume or for all of the logical partitions of a disk volume. The disk mirroring is done by the filing system and so is dependent on the computer being able to boot up and the operating system being able to start.
IBM Technical Disclosure Bulletin v.39, n.8, "Multimedia Byte for Partial Mirroring", D. J. Winarski & T. Y. Winarski, August 1996, discloses the use of a multimedia byte in the header information of files. The multimedia byte depicts the source of the application or file. These may be, for example, CD-ROM, Floppy Disk, 8 mm Tape, Downloaded from Lan, Application Output or many others. The byte can be used to control partial mirroring, where only those files which cannot easily be retrieved from another source are copied to another media. In order to use the partial mirroring described in this disclosure, the header bytes of files must be read, which means that it is filing system dependent and the operating system must be functional.
IBM Technical Disclosure Bulletin v.36, n.12, "Automatic Swap of the Primary and Secondary Mirrors in a Disk Mirror System", J. L. Craft, J. M. Shieh, December 1993, discloses a system in which sequential mirroring using a Primary and a Secondary partition (or a disk) is used. In normal operation, read or write commands are issued first to the Primary mirror. Write commands are then mirrored onto the Secondary mirror. In the event that data cannot be read from the Primary mirror, an attempt is made to read the data from the Secondary mirror. When the system detects that the Primary mirror may be failing, then it switches the roles of the Primary and Secondary mirrors, so as to increase disk access efficiency. The system cannot detect when the operating system is not functioning due to the end user changing settings or device drivers.
IBM Technical Disclosure Bulletin v.35, n.4b, "User Data Area Protection", J. W. Blackledge, J. F. LaPenta Jr., September 1992, discloses a technique which avoids over-writing user data so that no inadvertent destruction of data occurs. Systems which use Initial Microcode Load (IML) have system information stored in, for example, the last 3 Megabytes of the hard disk. When system files are restored from a backup diskette, a check is made of the partition signature bytes. If these are a predetermined signature, the restoration program knows that it is possible that IML data may be overwritten and the user is prompted as to whether this should be done.
It would be advantageous if a method of recovering from operating system corruption which did not rely on the operating system functioning sufficiently to perform restoration could be provided.